package serveur;

import java.rmi.*;
import java.rmi.registry.*;

public class LanceurServeur {

	public static void main(String[] args)
	{
		int port = -1;
		
		// Vérification des arguments
		if (args.length != 2) {
	    	System.out.println("Usage : java LanceurServeur <host> <port>");
	    	System.exit(0);
		}
		
		// Récupération du port
		try
		{
			port = Integer.parseInt(args[1]);
		}
		catch (NumberFormatException e)
		{
			System.out.println("Erreur : Port incorrect");
			System.exit(0); 
		}
		
		// RMI Registry
		Registry rmi_registry = null;
		
		try
		{
			rmi_registry = LocateRegistry.createRegistry(port);
		}
		catch (RemoteException e)
		{
			// Rien à faire, puisque l'exception signifie qu'un
			// RMI registry a déjà été fait sur le port
		}
		
		// Instanciation de ServerImpl
		try
		{
			ServeurImpl local_server = new ServeurImpl();
			
			if (rmi_registry != null)
			{
				rmi_registry.rebind("Serveur", local_server);
			}
			else
			{
				Naming.rebind("rmi://" + args[0] + ":" + port + "/Serveur", local_server);
			}
			
			System.out.println("* Serveur lancé");
		}
		catch (Exception e)
		{
			System.out.println(e);
		}

	}

}
